Growth in the Internet and other network requirements have resulted in a proliferation of Internet Service Providers and other interconnection network providers. Both the Internet Service Providers and the other interconnection network providers are herein referred to as ISPS. Each ISP offers connectivity to the ubiquitous Internet and/or other network for multiple corporations as well as individual users. Due to the large number of network providers, as well as the anticipated number of new network providers, some sites are likely to have connectivity to the Internet and/or other network via more than one ISP. The level of service provided by the different service providers may indeed vary widely from one ISP to another.
As an example consider the case where two sites of an organization are connected to the Internet and/or other network through two different ISPs, namely ISP-A and ISP-B. It is quite conceivable that ISP-A guarantees a low delay but is rather expensive for its service, whereas ISP-B provides a cheaper service than ISP-A, but does not guarantee low delays. There may be some applications like voice that need low delay to be effective, whereas other applications like e-mail or file transfers are fairly tolerant to delays. In some cases the decision as to which ISP to use may further depend on the users individual preferences. With the current state of the art technology, the end-user is forced to choose a single ISP (in this case it is ISP-A or ISP-B) for routing traffic to any given destination. Even if the user is a multi-homed host with multiple connections to the Internet and/or other network the choice of which ISP to use is governed by the routing information exchanged by the routers in the Internet and/or other network. Typically the route chosen depends on the destination address in each packet and does not depend on the specific applications and their individual requirements.
If the user desires the low delay guarantee provided by ISP-A in the above example it is generally not sufficient to simply direct its traffic onto the interface that is connected to ISP-A. Each ISP is assigned ownership of a certain number of machine addresses in the Internet and/or other network, the range of these machine addresses being known as the address space of the ISP. If the destination address belongs to the address space of ISP-B, then it is quite likely that the packet will cross-over from provider ISP-A to ISP-B prematurely, thereby rendering the delay guarantee of ISP-A null and void. One solution is for all of the end-hosts to have IP addresses in the address-spaces of each candidate ISP so that this cross-over does not take place. However, this solution does not scale well as there may be quite a few ISPs and thousands of individual host machines. An alternate solution is to translate the addresses at the network edges so that depending on the applications individual requirements an appropriate ISP and an address from its space is chosen for each connection.